/**
 * 
 */
package com.iwords.service.persistence;


import java.util.List;

import javax.ejb.Local;

import com.iwords.service.object.LearningStatusEntity;

/**
 * @author       BOLIN.HBC 
 * @time         2011-3-12    
 * @description  LearingStatus-Persistence       
 */
@Local
public interface LearningStatusPersistence {
	public void moveSysLib(LearningStatusEntity entity);

	public boolean isExistUserLib(LearningStatusEntity entity);

	public void updateLearningStatus(LearningStatusEntity entity);
	public List<LearningStatusEntity>  getStatusList(LearningStatusEntity entity) ;
	
	/**
	 * 获取最终级别的单词
	 * 
	 * @param  entity
	 *         学习状态 
	 * @return List<Long>
	 *         最终状态的单词ID的List
	 */
	public List<LearningStatusEntity> getFinalList(LearningStatusEntity entity);
	
	/**
	 * 获取某个单词
	 * 
	 * @param  entity
	 *         学习状态 
	 * @return LearningStatusEntity
	 *         单词
	 */
	public LearningStatusEntity getLearningStatusWord(LearningStatusEntity entity);
	
	/**
	 * 
	 * 获取用户该课本的下面学习的单词数目
	 * 
	 * @param 	userid
	 *        	用户ID
	 * @param	syslibid
	 *        	课本ID
	 * @param	level
	 *        	单词级别
	 * @return  long
	 *          数目
	 */
	public long getStudyLibNum(Long userid, Long syslibid,int level);
	/**
	 * 获取当前用户学习过的所有课本
	 * 
	 * @param	userid
	 *          用户ID
	 * @return  List<Long>
	 *          学习过的课本List
	 */
	public List<Long> getAllStudyList(Long userid,int toPage);
	/**
	 * 获取当前用户学习过的所有课本
	 * 
	 * @param	userid
	 *          用户ID
	 * @return  List<Long>
	 *          学习过的课本List
	 */
	public int getAllStudyListNum(Long userid);
	
	
}
